1. Field
The embodiments of the disclosure relate generally to an improved data processing system, and more specifically to a computer implemented method, data processing system, and computer program product for optimizing SQL queries for Simple Network Management Protocol (SNMP) Management Information Base (MIB) tables.
2. Description of the Related Art
In a data processing environment, data collection is the process of collecting values for computer system or network metrics using a data collection facility, such as SNMP. SNMP stands for “Simple Network Management Protocol,” which is a protocol used by network hosts to exchange information used in the management of networks, such as Internet Protocol (IP) networks. SNMP network management is based on the client and server model. An SNMP client sends a request for SNMP data to an SNMP managed server or host. Each managed host runs a process called an agent, known as an SNMP Agent. The SNMP agent is a server process that maintains a management information base (MIB) database for the host. The SNMP managed host sends a response comprising the requested data that is stored in the management information base to the SNMP client.
Existing procedural approaches to SNMP data collection suffer from a number of drawbacks. Procedural solutions are typically developed and optimized for a certain data collection scenario (i.e., within a particular computer environment) and reflect a certain set of assumptions. As a result, an SNMP collection procedure may become sub-optimal or unsuitable when used in a different environment. For example, large Internet Service Providers (ISPs) and carriers have multiple families and generations of networking equipment with various SNMP-related idiosyncrasies and constraints. The same logical data (e.g., interface octet counter) can be collected in a number of alternative ways, some of which are better than the others. For instance, a straightforward SNMP data collection procedure may produce poor data collection results, while a sophisticated SNMP data collection procedure which offers better data collection results may be difficult to develop. In addition, although brute-force data collection methods may be used which systematically enumerate all possible data collection candidates for a procedural solution and check whether each data collection candidate satisfies the problem's statement, many brute-force data collection procedures scale poorly when management information base tables become very large. Thus, size and scale of the management information base tables in an SNMP environment may dictate using different procedures for collecting SNMP data. In addition, the complexity of a procedural solution increases very rapidly when a data collection scenario involves correlating data from a number of related management information base tables.